#ifndef ALIYUN_END_POINT_H_
#define ALIYUN_END_POINT_H_

#include <vector>
#include "core/utils/string_helper.h"
#include "core/regions/product_domain.h"

namespace aliyun {

class Endpoint {
public:
  Endpoint(const string& name, const std::vector<string>& region_ids, const std::vector<ProductDomain>& product_domains);

  const string& GetName(void) const;
  void SetName(const string& name);

  const std::vector<string>& GetRegionIds(void) const;
  void SetRegionIds(const std::vector<string>& region_ids);

  const std::vector<ProductDomain>& GetProductDomains(void) const;
  void SetProductDomains(const std::vector<ProductDomain>& product_domains);

private:
  string name_;
  std::vector<string> region_ids_;
  std::vector<ProductDomain> product_domains_;
};

} // namespace aliyun {

#endif // #ifndef ALIYUN_END_POINT_H_

// end of file
